package com.ele.Service.impl;


import com.ele.Dao.DaoImpl.ShopCategoryDaoImpl;
import com.ele.Dao.ShopCategoryDao;
import com.ele.Pojo.PageResult;
import com.ele.Pojo.ShopCategory;
import com.ele.Service.ShopCategoryService;

import java.sql.SQLException;
import java.util.List;


public class ShopCategoryServiceImpl implements ShopCategoryService {
    //Dao
    private ShopCategoryDao shopCategoryDao =new ShopCategoryDaoImpl();
    @Override
    public List<ShopCategory> shopCategoryList() {
        try {
            return this.shopCategoryDao.shopCategoryList();
        }catch (Exception e){
            e.printStackTrace();
        }
       return null;
    }

    @Override
    public Integer shopCategoryAdd(String categoryName) {
        try{
            return shopCategoryDao.shopCategoryAdd(categoryName);
        }catch (SQLException e){
            e.printStackTrace();
        }
        return null;
    }

    @Override
    public PageResult<List<ShopCategory>> findShopCategory(String currentPage, String pageSize) {
        try {
            // 分页和条件查询数据
            List<ShopCategory> list =  this.shopCategoryDao.findShopCategory(currentPage,pageSize);
            // 需要查询数据库的总记录数
            Long total = this.shopCategoryDao.selectCount();
            // 手动创建一个用于封装分页结果集的对象
            PageResult<List<ShopCategory>> pageResult = new PageResult<>();
            // 手动给分页结果集的对象上设置参数 ， 分页查询出来当前页面需要显示的数据
            pageResult.setDatas(list);
            // 手动给分页结果集的对象上设置参数 ， 数据表的总记录数
            pageResult.setTotal(total);
            return pageResult;
        }catch (SQLException e){
            e.printStackTrace();
        }
        return null;
    }

    @Override
    public Integer shopCategoryDelete(String categoryId) {
        try{
            return this.shopCategoryDao.shopCategoryDelete(categoryId);
        }catch (SQLException e){
            e.printStackTrace();
        }
        return null;
    }

    @Override
    public Integer shopCategoryUpdate(String categoryName, String shopCategoryId) {
        try{
            return this.shopCategoryDao.shopCategoryUpdate(categoryName,shopCategoryId);
        }catch (SQLException e){
            e.printStackTrace();
        }
        return null;
    }

}
